#include <assert.h>
#include <stdio.h>
#include <sys/time.h>
#include <time.h>
#include "../server.h"
/* A template for the HTML page this module generates. */
static char* page_template =
    "<html>\n"
    " <head>\n"
    " <meta http-equiv=\"refresh\" content=\"5\">\n"
    " </head>\n"
    " <body>\n"
    " <p>The current time is %s.</p>\n"
    " </body>\n"
    "</html>\n";
void module_generate (int fd)
{
    struct timeval tv;
    struct tm* ptm;
    char time_string[40];
    FILE* fp;
    /* Obtain the time of day, and convert it to a tm struct. */
    gettimeofday (&tv, NULL);
    ptm = localtime (&tv.tv_sec);
    /* Format the date and time, down to a single second. */
    strftime (time_string, sizeof (time_string), "%H:%M:%S", ptm);
    /* Create a stream corresponding to the client socket file
    descriptor. */
    fp = fdopen (fd, "w");
    assert (fp != NULL);
    /* Generate the HTML output. */
    fprintf (fp, page_template, time_string);
    /* All done; flush the stream. */
    fflush (fp);
}
